Skip to content

Conversation

@fellen31
Copy link
Contributor

@fellen31 fellen31 commented Dec 19, 2025

The modkit pileup module now outputs bgzipped files by default, which is this modules main input. This PR allows this module to take bgzipped inputs directly, without decompressing them before.

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the module conventions in the contribution docs
  • If necessary, include test data in your PR.
  • Remove all TODO statements.
  • Emit the versions.yml file.
  • Follow the naming conventions.
  • Follow the parameters requirements.
  • Follow the input/output options guidelines.
  • Add a resource label
  • Use BioConda and BioContainers if possible to fulfil software requirements.
  • Ensure that the test works with either Docker / Singularity. Conda CI tests can be quite flaky:
    • For modules:
      • nf-core modules test <MODULE> --profile docker
      • nf-core modules test <MODULE> --profile singularity
      • nf-core modules test <MODULE> --profile conda
    • For subworkflows:
      • nf-core subworkflows test <SUBWORKFLOW> --profile docker
      • nf-core subworkflows test <SUBWORKFLOW> --profile singularity
      • nf-core subworkflows test <SUBWORKFLOW> --profile conda

Copy link
Contributor

@Felix-Kummer Felix-Kummer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor consistency comments, looks good otherwise.

@fellen31 fellen31 added this pull request to the merge queue Dec 19, 2025
Merged via the queue into nf-core:master with commit e08d432 Dec 19, 2025
26 checks passed
@fellen31 fellen31 deleted the allow-gzipped-input branch December 19, 2025 12:27
georgiakes pushed a commit to georgiakes/modules that referenced this pull request Dec 30, 2025
* Allow gzipped inputs to modkit/bedmethyltobigwig

* Update modules/nf-core/modkit/bedmethyltobigwig/main.nf

Co-authored-by: Felix Kummer <[email protected]>

* harshil

---------

Co-authored-by: Felix Kummer <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Jan 5, 2026
* Initial commit

* Create one input tuple

* Remove bam tests

* Update snapshot

* Fix formatting

* Update meta.yml

* Add version to main.nf.test

* Run prettier

* Add minimac4 imputation subworkfllow (#9451)

* Add vcf_impute_minimac4

* Update linting

* Update test

* Fix linting

* Update minimac4 sbwf

* Remove tag

* Remove tag

* Fix linting

* Add comment

* Update snapshot

* Fix nf-test

* Add BBSplit stats to MultiQC in fastq_qc_trim_filter_setstrandedness subworkflow (#9559)

Add BBSplit stats to MultiQC files in fastq_qc_trim_filter_setstrandedness

Pass BBSplit stats output to MultiQC for visualization of read binning
statistics. MultiQC 1.33+ includes support for parsing BBSplit stats.txt
files and displaying per-sample read distribution across reference genomes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <[email protected]>

* Update cutadapt (#9551)

* proper stub for gz and stub test added

* topic output syntax and tests update

* meta yml updated with topics and ontologies

* meta file curated

* version bump to latest

* update nf-tests properly

* adding self to maintainers

* removed Z flag as is deprecated after v4.10

* conda bug with different pre-built python version fixed

* Syntax updates and topic version for manta modules (#9556)

* update manta germline

* topics convertinversion

* topics convertinversion

* topics manta/somatic

* topics manta/tumoronly

* Syntax updates and topics of jasminesv (#9554)

syntax updates and topics of jasminesv

* Update `Modkit pileup`  (#9553)

* update yaml

* update main.nf

* modified test runs

* update bedmethyltobigwig tests

* update main

* update snapshot

* fix linting

* update snapshots

* remove config

* update module_args

* [automated] Fix linting with Prettier

* changed name

* update main

---------

Co-authored-by: ra25wog <[email protected]>
Co-authored-by: nf-core-bot <[email protected]>

* Standarize and alignment for all imputation and alignment modules (#9566)

* Standarize and alignment

* Fix glimpse2 sbwf test

* Fix test

* Add comment

* Update snapshot

---------

Co-authored-by: LouisLeNezet <[email protected]>

* Update Infrastructural dependencies

* Remove .view() (#9567)

* Bump strdrop to 0.3.1 (#9565)

* Remove unecessary tags (#9568)

* Remove .view()

* Remove unecessary tags

* Update trimgalore (#9570)

* testing solo trim-galore container, without adding extra cutadapt and pigz

* Syntax updates and topic version for manta modules (#9556)

* update manta germline

* topics convertinversion

* topics convertinversion

* topics manta/somatic

* topics manta/tumoronly

* Syntax updates and topics of jasminesv (#9554)

syntax updates and topics of jasminesv

* Update `Modkit pileup`  (#9553)

* update yaml

* update main.nf

* modified test runs

* update bedmethyltobigwig tests

* update main

* update snapshot

* fix linting

* update snapshots

* remove config

* update module_args

* [automated] Fix linting with Prettier

* changed name

* update main

---------

Co-authored-by: ra25wog <[email protected]>
Co-authored-by: nf-core-bot <[email protected]>

* Standarize and alignment for all imputation and alignment modules (#9566)

* Standarize and alignment

* Fix glimpse2 sbwf test

* Fix test

* Add comment

* Update snapshot

---------

Co-authored-by: LouisLeNezet <[email protected]>

* Update Infrastructural dependencies

* Remove .view() (#9567)

* Bump strdrop to 0.3.1 (#9565)

* Remove unecessary tags (#9568)

* Remove .view()

* Remove unecessary tags

* latest container, with cutadapt 5.2

* new output syntax, nf-tests updated, meta updated

* meta yml lint fixed

* trying to fix lint

* lint fix with nf-core tools 3.6.0dev

* removing TRIMGALORE versions output from the FASTQ_FASTQC_UMITOOLS_TRIMGALORE subworkflow

---------

Co-authored-by: Nicolas Vannieuwkerke <[email protected]>
Co-authored-by: Jinn <[email protected]>
Co-authored-by: ra25wog <[email protected]>
Co-authored-by: nf-core-bot <[email protected]>
Co-authored-by: Louis Le Nézet <[email protected]>
Co-authored-by: LouisLeNezet <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Felix Lenner <[email protected]>

* RiboCode - prepare_transcripts, metaplots, ribocode  (#9485)

* add 3 required ribocode modules

* GTFUpdate; meta in inputs; No Gzip;

* return snaps

* nf-test passing

* Update RiboCode versions to use topics

* Update RiboCode versions to use topics -New lines at EOF

* Update RiboCode versions to use topics - Prettier

* RiboCode update snapshots

* Update RiboCode snapshots to container versions

* Bump to latest ribocode build with pyfasta and ribocode fixes

* Improve RiboCode module tests and fix review issues

- Remove defaults channel from environment.yml files
- Fix keywords to lowercase in meta.yml files
- Add stub tests to all modules
- Update version snapshots from 1.2.14 to 1.2.15
- Remove duplicate snapshot entries
- Optimize test setup using pre-made test data:
  - metaplots/ribocode: use UNTAR for annotation instead of full setup chain
  - prepare: use pre-made updated GTF instead of running gtfupdate

Temporarily points to test-datasets branch pending merge of:
nf-core/test-datasets#1820

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* Update RiboCode snapshot to GHA runner architecture

Update md5 hashes to match linux/amd64 output from CI runners.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* Add schema reference to ribocode/ribocode meta.yml

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* Revert nf-test.config to standard test-datasets paths

test-datasets PR #1820 has been merged, reverting to nf-core/test-datasets.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

---------

Co-authored-by: Jonathan Manning <[email protected]>
Co-authored-by: Claude Opus 4.5 <[email protected]>

* Bump stranger (#9571)

* Bump stranger

* meta.yaml

* linting not happy

* linting is happy, but I'm not

* pin same python version as used in container

* add containers in meta.yml for fastqc and multiqc (#9569)

* add containers for fastqc and multiqc

* sort containers and add https for singularity

* fix build_id naming

* some more key names fixing

* use underscores

* Sort TRGT merge inputs for stable outputs (#9572)

* Rseqc add bam index - topics-based versions - version bump (#9546)

* Updated rseqc/bamstat: Added BAI support per #9460 & topics-based versions

* Updated rseqc/inferexperiment: Added BAI support per #9460 & topics-based versions

* Updated rseqc/innerdistance: Added BAI support per #9460 & topics-based versions

* Updated rseqc/junctionannotation: Added BAI support per #9460 & topics-based versions

* Updated rseqc/junctionsaturation: Added BAI support per #9460 & topics-based versions

* Updated rseqc/readdistribution: Added BAI support per #9460 & topics-based versions

* Updated rseqc/readduplication: Added BAI support per #9460 & topics-based versions

* Updated rseqc/tin: Added topics-based versions

* Updated bam_rseqc subworkflow - BAI support, channel syntax fix - topics-based versions

* Failed snapshot update - linting error

* Snapshot Update & Channel syntax fix

* Channel syntax update

* Test & Snapshot Updated - version assertion to circumvent nf-core tools potential bug

* Fixed null entries in snapshot

* Updated subworkflow assertions on optional files (& snapshot) - migration of versions channels to topics

* Linting failures fixes - dedicated versions assertions

* Add MultiQC routing for seqkit/stats and UMI-tools outputs (#9576)

- Add SEQKIT_STATS output to multiqc_files in fastq_remove_rrna
  (when using ribodetector for rRNA removal)
- Add umi_log output to multiqc_files in fastq_qc_trim_filter_setstrandedness
  for both trimgalore and fastp paths

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <[email protected]>

* Update cmaple (#9580)

* adding uncompression functionality

* new versions output syntax

* meta.yml updated

* Add fq2bam fq align dd bwamem (#9309)

* Added fq2bam

* test fix

* typo

* PE channel

* tidying

* gpu snap

* test fix for snaps

* gpu snapshot

* PR feedback

* tests

* cpu snapshot

* tests

* last snapshot

* fix channels

* last snapshot

* PR feedback

* PR feedback

* new cpu snapshot

* changing test

* changing test

* new gpu snapshot

* [automated] Update gpu snapshot

* PR feedback

* PR feedback

* PR feedback

* PR feedback

* PR feedback

* PR feedback

* PR feedback

* PR feedback

* PR feedback

* PR feedback

* PR feedback

* containerOptions back

* genome test name

* genome test name

* wrong comment

* fix tests

* new snapshot

* Add use_gpu channel

* new snapshot

* [automated] Fix linting with Prettier

* fix lint

* Remove containerOptions

---------

Co-authored-by: root <[email protected]>
Co-authored-by: root <[email protected]>
Co-authored-by: nf-core-bot <[email protected]>
Co-authored-by: Joon Klaps <[email protected]>
Co-authored-by: Eduard Casas <[email protected]>

* Update RSEQC modules with Seqera Wave containers matching environment.yml (#9588)

Replace biocontainers with Seqera Wave containers built from the exact
environment.yml specifications. This ensures conda and container
environments match.

Key changes:
- Pin r-base=4.3 in all RSEQC environment.yml files (r-base=3.5 has no
  ARM build available)
- Use Wave-generated containers built from environment.yml for both
  Docker and Singularity
- Standardize all 9 RSEQC modules to use identical dependencies

The previous biocontainers (rseqc:5.0.4--pyhdfd78af_1) were not built
with the R pin specified in environment.yml, causing inconsistency
between conda and container execution modes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <[email protected]>

* Allow gzipped inputs to modkit/bedmethyltobigwig (#9591)

* Allow gzipped inputs to modkit/bedmethyltobigwig

* Update modules/nf-core/modkit/bedmethyltobigwig/main.nf

Co-authored-by: Felix Kummer <[email protected]>

* harshil

---------

Co-authored-by: Felix Kummer <[email protected]>

* Fix modkit pileup stub (#9590)

* feat(ribowaltz): Export underlying data from QC plots (#9593)

* feat(ribowaltz): Export underlying data from QC plots

Add TSV export for data underlying P-site region and frame distribution
plots. This makes the raw data available for downstream analysis and
reporting tools like MultiQC.

Changes:
- Export psite_region.tsv from region_psite() in save_psite_region_plot
- Export frames.tsv from frame_psite() in save_frame_plots
- Export frames_stratified.tsv from frame_psite_length() in save_frame_plots
- Add ribowaltz_qc_data output channel for TSV files
- Update stub outputs to include new TSV files
- Add test assertions for new output channel

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* chore(ribowaltz): Update meta.yml with ribowaltz_qc_data output

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>

* feat(ribowaltz): Export underlying data for all QC plots (#9594)

* feat(ribowaltz): Export underlying data for all QC plots

Add TSV data exports for all riboWaltz QC plots to enable downstream
processing and MultiQC custom content integration:
- length_bins_for_psite.tsv (P-site offset identification bins)
- ends_heatmap.tsv (read extremities heatmap)
- codon_usage.tsv (codon usage barplot)
- length_distribution.tsv (read length distribution)
- metaprofile_psite.tsv (P-site metaprofile around start/stop codons)

These complement existing exports (psite_region, frames, frames_stratified).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* fix(ribowaltz): Use correct key for ends_heatmap data export

The rends_heat function returns data in 'count_dt' not 'dt'.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>

* chore(deps): update conda-incubator/setup-miniconda digest to 8352349

* Swap bcftools/mpileup to topic (#9596)

* Swap bcftools/mpileup to topic

* Fix linting

* Update snapshots

* Swap mpileup to topics (#9595)

* Swap mpileup to topics

* Apply suggestions from code review

* Add Harshil back as author

* Update snapshots

* Fix string path (#9602)

* Fix string path

* Update subworkflows/nf-core/vcf_impute_beagle5/main.nf

Co-authored-by: Felix Lenner <[email protected]>

---------

Co-authored-by: Felix Lenner <[email protected]>

* Bump genmod to 3.10.2 and switch to topics (#9603)

* Bump genmod to 3.10.2 and switch to topics

* Add md5sum for stable subcommands

* Update the FASTP output file names to match "R1/R2" naming conventions (#9606)

* Modify output files in FASTP module to use 'R1' and 'R2' conventions rather than just '1' or '2'

* Update testing snapshots

---------

Co-authored-by: Tatiana Gelaf Romer <[email protected]>

* Update MLST from 2.23 to 2.25 (#9604)

* Update MLST from 2.23 to 2.25

* test: update snapshots for mlst 2.25

---------

Co-authored-by: Subham Verma <[email protected]>

* Update GitHub PR template check list item - version numbers (#9586)

Update PR template check list item WRT version numbers

Updating the PR template per the blog:
```
We are adopting topic channels to replace the versions.yml.
For now both options are valid, but this will change.
No more mixing of version channels.
```

Co-authored-by: Simon Pearce <[email protected]>

* Ngscheckmate topics (#9597)

* Start of topics conversion

* Swap ngscheckmate to topic

* Remove trailing whitespace

* Update snapshots

* Update test

* Update snapshots

* Skip two submodules on conda

* Address comments

* Update snapshot

* Update snapshot

---------

Co-authored-by: Louis Le Nézet <[email protected]>

* Migrate samtools dict/faidx/merge to topics (#9598)

* Update samtools dict/faidx/merge

* Update subworkflows

* Update meta

* Update snapshots

* Prettier

* Add config back

* Add config

* Prettier

* Allow `dream` to process non-formula contrasts (#9562)

* Allow `dream` to process non-formula contrasts

* Add test case without formula

* Update `meta.yml`

* Fix test with unstable file

* Update subworkflow to allow non-formula contrasts with DREAM

* Update modules/nf-core/variancepartition/dream/templates/dream.R

Co-authored-by: Copilot <[email protected]>

* Update modules/nf-core/variancepartition/dream/templates/dream.R

Co-authored-by: Copilot <[email protected]>

* Correct format of function

* Fix contrast building and code flow

* Update tests

* Modify logic for contrast_string building

* Make contrast_string compulsory with formula

* Update tests

* Refactor contrast_string construction logic

Simplified the construction of contrast_string by removing unnecessary checks for treatment levels in the design matrix.

* Make formula mutually exclusive to contrast tuple

* Modify tests with mutually exclusive varaibles

* Revert changes in first test case

* Update tests

* Fix tests

---------

Co-authored-by: Copilot <[email protected]>

* Add vcfpgloader/load module (#9579)

* Add vcfpgloader/load module

High-throughput VCF to PostgreSQL loader using asyncpg for bulk variant ingestion.

* Remove throughput metric from meta.yml description

* fix(vcfpgloader): fix CI failures for conda, singularity, and docker

- Add pip as explicit conda dependency in environment.yml
- Simplify container directive (remove oras:// for singularity compatibility)
- Remove integration test requiring PostgreSQL database

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* chore: re-trigger CI for bioconda 0.5.3 propagation

* chore: reorder deps to bust conda cache for 0.5.3

* fix: specify exact bioconda build string to force 0.5.3

* chore: sort environment.yml dependencies (linter)

* fix: remove version from snapshot (varies by profile)

* fix(vcfpgloader): restore version checking in tests

Add back versions to snapshot assertions and update snapshot
file with expected version output format for lint compliance.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* fix(vcfpgloader): use correct findAll pattern for topic versions

Use process.out.findAll { key, val -> key.startsWith("versions")}
pattern for topic-based versioning, matching nf-core conventions.
Update snapshot with versions_vcfpgloader object format.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* feat(vcfpgloader): bump to v0.5.4

- Update environment.yml to bioconda::vcf-pg-loader=0.5.4
- Update container to ghcr.io/zacharyr41/vcf-pg-loader:0.5.4
- Add sed to parse version number from --version output
- Update snapshot for 0.5.4

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* ci: retrigger after bioconda 0.5.4 merge

* fix(vcfpgloader): update meta.yml version format

Add type: eval and description to version command entries
in outputs and topics sections.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* style(vcfpgloader): apply nextflow lint formatting

* fix(vcfpgloader): add export to env() output variables

Add explicit `export` to ROWS_LOADED assignments as recommended
for env() output qualifiers.

Note: `nextflow lint` still reports false positive errors for env()
outputs - this is a known limitation of static analysis on shell
scripts. The linter cannot verify variable definitions inside
heredoc script blocks. Other nf-core modules (e.g., genescopefk)
have the same lint warning. The code functions correctly at runtime.

* Update modules/nf-core/vcfpgloader/load/tests/nextflow.config

Co-authored-by: Famke Bäuerle <[email protected]>

* chore(vcfpgloader): remove unused tags.yml

* Update modules/nf-core/vcfpgloader/load/tests/main.nf.test

Co-authored-by: Famke Bäuerle <[email protected]>

* Update modules/nf-core/vcfpgloader/load/tests/main.nf.test

Co-authored-by: Famke Bäuerle <[email protected]>

* refactor(vcfpgloader): consolidate inputs into single tuple

* feat(vcfpgloader): switch to BioContainers

- Use BioContainers URLs instead of personal ghcr.io
- Remove jq dependency, use Python for JSON parsing
- Fix sed quoting for nf-core lint compatibility

🤖 Generated with [Claude Code](https://claude.ai/code)

* fix(vcfpgloader): update snapshots to include row_count output

Add missing row_count and log outputs to test snapshots to match
the process outputs being asserted in tests.

---------

Co-authored-by: Claude <[email protected]>
Co-authored-by: Zachary Rothstein <[email protected]>
Co-authored-by: Famke Bäuerle <[email protected]>

* Replace busybox with coreutils sort for genmod modules (#9610)

Replace busybox with coreutils sort

* Add error message

* Update version

* Fix output capture

* Update tests

* Update singularity container

* Use https protocol

---------

Co-authored-by: Louis Le Nézet <[email protected]>
Co-authored-by: Jonathan Manning <[email protected]>
Co-authored-by: Claude Opus 4.5 <[email protected]>
Co-authored-by: Evangelos Karatzas <[email protected]>
Co-authored-by: Nicolas Vannieuwkerke <[email protected]>
Co-authored-by: Jinn <[email protected]>
Co-authored-by: ra25wog <[email protected]>
Co-authored-by: nf-core-bot <[email protected]>
Co-authored-by: LouisLeNezet <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Felix Lenner <[email protected]>
Co-authored-by: Jack Tierney <[email protected]>
Co-authored-by: Júlia Mir Pedrol <[email protected]>
Co-authored-by: Rayan Hassaïne <[email protected]>
Co-authored-by: Eduard Casas <[email protected]>
Co-authored-by: root <[email protected]>
Co-authored-by: root <[email protected]>
Co-authored-by: Joon Klaps <[email protected]>
Co-authored-by: Eduard Casas <[email protected]>
Co-authored-by: Felix Kummer <[email protected]>
Co-authored-by: Simon Pearce <[email protected]>
Co-authored-by: Tatiana Gelaf Romer <[email protected]>
Co-authored-by: Tatiana Gelaf Romer <[email protected]>
Co-authored-by: Shubham Verma <[email protected]>
Co-authored-by: Subham Verma <[email protected]>
Co-authored-by: PeterKnealeCMRI <[email protected]>
Co-authored-by: Delfina Terradas <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Zacharyr41 <[email protected]>
Co-authored-by: Zachary Rothstein <[email protected]>
Co-authored-by: Famke Bäuerle <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants